#ifndef __CROSSFIRE_INTERFACE
#define __CROSSFIRE_INTERFACE

typedef CCF_Control* LPCF_CONTROL;
typedef std::list<LPCF_CONTROL> CCF_ControlList;

class CF_CORE_API CCF_Interface
{
private:
  LPD3DXSPRITE m_sprite;
  LPDIRECT3DDEVICE9 m_device;
  CCF_ControlList m_controls;

public:
  CCF_Interface(void);
  ~CCF_Interface(void);

  bool Initialize( LPDIRECT3DDEVICE9 device );
  void Add( LPCF_CONTROL control );
  void Remove( LPCF_CONTROL control );
  void Render();
  CCF_Control* HitTest( int x, int y );
};

#endif